home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / mx / binding / BindingManager.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  2.8 KB  |  93 lines

  1. package mx.binding
  2. {
  3.    import mx.core.mx_internal;
  4.    
  5.    use namespace mx_internal;
  6.    
  7.    public class BindingManager
  8.    {
  9.       mx_internal static const VERSION:String = "2.0.1.0";
  10.       
  11.       internal static var debugDestinationStrings:Object = {};
  12.       
  13.       public function BindingManager()
  14.       {
  15.          super();
  16.       }
  17.       
  18.       public static function executeBindings(param1:Object, param2:String, param3:Object) : void
  19.       {
  20.          var _loc4_:String = null;
  21.          if(!param2 || param2 == "")
  22.          {
  23.             return;
  24.          }
  25.          if(param1 && param1._bindingsByDestination && Boolean(param1._bindingsBeginWithWord) && Boolean(param1._bindingsBeginWithWord[getFirstWord(param2)]))
  26.          {
  27.             for(_loc4_ in param1._bindingsByDestination)
  28.             {
  29.                if(_loc4_.charAt(0) == param2.charAt(0))
  30.                {
  31.                   if(_loc4_.indexOf(param2 + ".") == 0 || _loc4_.indexOf(param2 + "[") == 0 || _loc4_ == param2)
  32.                   {
  33.                      param1._bindingsByDestination[_loc4_].execute(param3);
  34.                   }
  35.                }
  36.             }
  37.          }
  38.       }
  39.       
  40.       public static function addBinding(param1:Object, param2:String, param3:Binding) : void
  41.       {
  42.          if(!param1._bindingsByDestination)
  43.          {
  44.             param1._bindingsByDestination = {};
  45.             param1._bindingsBeginWithWord = {};
  46.          }
  47.          param1._bindingsByDestination[param2] = param3;
  48.          param1._bindingsBeginWithWord[getFirstWord(param2)] = true;
  49.       }
  50.       
  51.       public static function debugBinding(param1:String) : void
  52.       {
  53.          debugDestinationStrings[param1] = true;
  54.       }
  55.       
  56.       private static function getFirstWord(param1:String) : String
  57.       {
  58.          var _loc2_:int = 0;
  59.          var _loc3_:int = 0;
  60.          var _loc4_:int = 0;
  61.          _loc2_ = int(param1.indexOf("."));
  62.          _loc3_ = int(param1.indexOf("["));
  63.          if(_loc2_ == _loc3_)
  64.          {
  65.             return param1;
  66.          }
  67.          _loc4_ = Math.min(_loc2_,_loc3_);
  68.          if(_loc4_ == -1)
  69.          {
  70.             _loc4_ = Math.max(_loc2_,_loc3_);
  71.          }
  72.          return param1.substr(0,_loc4_);
  73.       }
  74.       
  75.       public static function getUIComponentWatcherForDestination(param1:Object, param2:String) : int
  76.       {
  77.          var _loc3_:String = null;
  78.          if(param1._bindingsByDestination)
  79.          {
  80.             for(_loc3_ in param1._bindingsByDestination)
  81.             {
  82.                if(_loc3_ == param2 && param1._bindingsByDestination[_loc3_].uiComponentWatcher != -1)
  83.                {
  84.                   return param1._bindingsByDestination[_loc3_].uiComponentWatcher;
  85.                }
  86.             }
  87.          }
  88.          return -1;
  89.       }
  90.    }
  91. }
  92.  
  93.